package com.aiti.lulian.service;

import com.aiti.base.core.base.service.BaseService;
import com.aiti.base.core.page.PageResult;
import com.aiti.base.core.utils.message.Message;
import com.aiti.lulian.dto.Product0428ParamDto;
import com.aiti.lulian.dto.Product0428ParamListDto;
import com.aiti.lulian.dto.ProductQueryParamDto;
import com.aiti.lulian.dto.ProductSortDto;
import com.aiti.lulian.entity.Product0428;
import com.aiti.lulian.vo.Product0428DetailVo;
import com.aiti.lulian.vo.Product0428ListVo;
import com.aiti.lulian.vo.ProductInfo0428Vo;
import com.aiti.lulian.vo.ProductPageVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

/**
 * description: 产品管理
 * auth fcb
 * date 2025-04-28 16:17
 **/
public interface Product0428Service extends BaseService<Product0428> {

    void saveProductInfo(Product0428ParamDto dto, String userId);

    void updateProductInfo(Product0428ParamDto dto, String userId);

    ProductInfo0428Vo getProductInfo(String baseId);

    PageResult<ProductPageVo> productPageList(ProductQueryParamDto dto);

    PageResult<Product0428ListVo> productPage(Page page, Product0428ParamListDto dto);

    PageResult<Product0428ListVo> productPageNew(Page page, Product0428ParamListDto dto);

    Product0428DetailVo productDetail(String productId, String paramId);

    void updateProductSort(ProductSortDto dto);

    Message importBatch(MultipartFile file, String userId, String enterpriseId) throws IOException;

    List<ProductPageVo> productRecommendation(String enterpriseId);

    void updateVisibleBatch(Product0428ParamDto dto, String userId);
}
